<?php  if (!defined('BASEPATH')) exit('No direct script access allowed');

/**
 * Помощник-виджет для отрисовки MainLink ссылок
 *
 * @package CoreFramework
 * @version 1.0
 * @author Gennadiy Kozlenko
 */

/**
 * MainLink функция для главной страницы
 *
 * @return unknown
 */
function BlokMainLink($user)
{$klb=array(10, 10);
Error_Reporting(E_ALL & ~E_NOTICE);
if (isset($_SERVER["REQUEST_URI"])) $sti=$_SERVER["REQUEST_URI"];
else if (isset($_SERVER["SCRIPT_NAME"]))
$sti=$_SERVER["SCRIPT_NAME"];
if ($sti == "/" or substr($sti, 0, 7)== "/index.")
{ $NBlok=count($klb); $raz=array(1=>"<br>", 2=>"|", 3=>" / "); $tr=2;
$zapros="GET /getcode/?id=".$user."&type=".$tr." HTTP/1.0\r\nhost: script5.mainlink.ru\r\n\r\n"; 
$so=@fsockopen("script5.mainlink.ru", 80, $errno, $errstr, 2);
if ($so) { fputs($so, $zapros); while(fgets($so,2048)!="\r\n" && !feof($so));
while (!feof($so)) {$li.=@fgets($so);}} $ml=explode($raz[$tr], $li); $n=1; $t=0;
for ($i=0; $i<count($ml); $i++) {$bl[$n].=$ml[$i];
$t++; if ($t>=$klb[$n-1]) {$t=0; $n++;} else { if ($i<count($ml)-1) $bl[$n].=$raz[$tr];}}
return $bl;}
}

/**
 * MainLink функция для вторичных страниц
 *
 * @return unknown
 */
function MainLink_second(){
Error_Reporting(0);
if(preg_match('/IIS/i',$_SERVER['SERVER_SOFTWARE'])){$url=urlencode("$_SERVER[SERVER_NAME]/$_SERVER[SCRIPT_NAME]");}
else{$url=urlencode("http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]");}
$url=str_replace('www.','',$url);
$zapros="GET /l.aspx?u=".$url." HTTP/1.0\r\nhost: universal.mainlink.ru\r\n\r\n";
$so=@fsockopen("universal.mainlink.ru", 80, $errno, $errstr, 2);
if($so){fputs($so, $zapros); while(fgets($so,2048)!="\r\n" && !feof($so));while(!feof($so)){$li.=@fgets($so);}
return $li;}}

/**
 * Отрисовка виджета
 * 
 * @access public
 * @param string $str
 * @return string
 */
function mainlink_links_widget($params = array()) {
   $output = '';
   $obj =& get_instance();
   if ('' !== $obj->variables->get('mainlink_user') && 'yes' == $obj->variables->get('use_mainlink')) {
   	$URI =& load_class('URI');
   	if ('' == $URI->uri_string()) {
	      $Blok = BlokMainLink($obj->variables->get('mainlink_user'));
	      $output = $Blok[1] . $Blok[2];
   	} else {
   		$output = MainLink_second();
   	}
      $output = iconv('cp1251', 'utf-8', $output);
   }
   return $output;
} // end sape_links_widget
